{% for func in [ "toDecimal32", "toDecimal64", "toDecimal128", "toDecimal256" ] -%}

SELECT '----  {{ func }} ----';
SELECT {{ func }} ('54.1234567', 4);
SELECT {{ func }} ('1.1111111111111111111111111111111111111', 4);
SELECT {{ func }} ('x123', 4); -- { serverError CANNOT_PARSE_TEXT }
SELECT {{ func }} ('', 4); -- { serverError ATTEMPT_TO_READ_AFTER_EOF }
SELECT {{ func }} ('\0', 4); -- { serverError CANNOT_PARSE_TEXT }
SELECT {{ func }} ('\0\0\0\0\0', 4); -- { serverError CANNOT_PARSE_TEXT }
SELECT {{ func }} ('\n\t\r', 4); -- { serverError CANNOT_PARSE_TEXT }
SELECT {{ func }} ('\'', 4); -- { serverError CANNOT_PARSE_TEXT }

{% endfor -%}

{% for func in [ "toDecimal32OrDefault", "toDecimal32OrNull", "toDecimal32OrZero",
                 "toDecimal64OrDefault", "toDecimal64OrZero", "toDecimal64OrNull",
                 "toDecimal128OrDefault", "toDecimal128OrNull", "toDecimal128OrZero",
                 "toDecimal256OrDefault", "toDecimal256OrNull", "toDecimal256OrZero" ] -%}

SELECT '----  {{ func }} ----';
SELECT {{ func }} ('54.1234567', 4);
SELECT {{ func }} ('1.1111111111111111111111111111111111111', 4);
SELECT {{ func }} ('x123', 4);
SELECT {{ func }} ('', 4);
SELECT {{ func }} ('\0', 4);
SELECT {{ func }} ('\0\0\0\0\0', 4);
SELECT {{ func }} ('\n\t\r', 4);
SELECT {{ func }} ('\'', 4);

{% endfor -%}


